﻿Imports System.Data.Odbc
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Printing
Imports System.Data.SqlClient
Imports System.Data
Imports System.Security.Principal
Imports System.Text
Imports System.IO
Public Class frmCarga
    Dim Bitacora As New clsActividad
    Dim Usuario As New clsUsuarioPrincipal
    Dim Interrumpir As Boolean

    Private Sub frmCarga_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Bitacora.RegistraActividad("Cerró al Módulo de carga")
        Usuario.Ubicacion("Ventana Principal")

        Try
            SDK_AdminPAQ.fCierraEmpresa()
            SDK_AdminPAQ.fTerminaSDK()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
            MsgBox("No se pudo cerrar el SDK de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
        End Try
    End Sub

    Sub Iniciar()
        'Carga Libreria

        Dim RutaDLL As String = ""
        Dim cCodigoBol As String = ""
        Dim cCodigoASE As String = ""

        Try

            Dim key As Microsoft.Win32.RegistryKey
            key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(gsRegPath)
            RutaDLL = CType(key.GetValue("RutaDLL"), String)
            cCodigoBol = CType(key.GetValue("cCodigoBol"), String)
            cCodigoASE = CType(key.GetValue("cCodigoASE"), String)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
            MsgBox("Se interrumpio el proceso", MsgBoxStyle.Exclamation, "Aviso")
        End Try

        'Carga SDK
        Dim lError As Integer
        Try
            Directory.SetCurrentDirectory(RutaDLL)
            lError = SDK_AdminPAQ.fInicializaSDK
            If lError <> 0 Then
                MensajeError(lError)
                End
            End If
        Catch ex As Exception
            MsgBox("No se pudo cargar el SDK de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End Try

        'Abre Empresa de AdminPAQ
        Try
            lError = SDK_AdminPAQ.fAbreEmpresa(Comercial)
            If lError <> 0 Then
                MensajeError(lError)
            End If
        Catch ex As Exception
            MsgBox("No se pudo abrir la empresa de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End Try
    End Sub


    Private Sub frmCarga_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip1.Cursor = Cursors.Hand
        ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System

        'Iniciar()


        Me.lblReg.Text = ""
        Me.dgMovimientos.DefaultCellStyle.Font = New Font("Arial", 8, FontStyle.Regular)
        txtFichero.Clear()
        dgMovimientos.Rows.Clear()
        Interrumpir = False

        Bitacora.RegistraActividad("Ingresó al Módulo de carga")
        Usuario.Ubicacion("Módulo de carga")


    End Sub

    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub btnExaminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExaminar.Click
        Dim oFD As New OpenFileDialog
        With oFD
            .Title = "Seleccionar fichero"
            .Filter = "Ficheros de texto (*.txt;*.ini)|*.txt;*.ini" & _
                      "|Todos los ficheros (*.*)|*.*"
            .FileName = Me.txtFichero.Text
            If .ShowDialog = System.Windows.Forms.DialogResult.OK Then
                Me.txtFichero.Text = .FileName
            End If
        End With
        CargarArchivo()
    End Sub

    Private Sub btnEnviar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub
    Private Sub BorraYTermina(ByVal aTipo As Integer)
        If aTipo = 1 Then
            SDK_AdminPAQ.fCancelaCambiosMovimiento()
            SDK_AdminPAQ.fBorraDocumento()
        Else
            SDK_AdminPAQ.fCancelarModificacionDocumento()

        End If

    End Sub
    Sub CargarArchivo()
        dgMovimientos.Rows.Clear() 'Primero limpiar datos del data grid

        Dim str() As String

        If txtFichero.Text <> "" Then 'Txtfichero contiene el nombre y la ubicacion del archivo
            Try
                Dim tr As System.IO.StreamReader
                tr = My.Computer.FileSystem.OpenTextFileReader(Me.txtFichero.Text)
                Dim texto As String

                Do
                    texto = tr.ReadLine()
                    str = Split(texto, ",", 9) 'Aqui esta el error
                    If texto Is Nothing Then
                        Exit Do
                    End If
                    dgMovimientos.Rows.Add(str(0), str(1), str(2), str(3), str(4), str(5), str(6), str(7), str(8))
                    str = Nothing

                Loop Until texto Is Nothing
                MsgBox("El archivo se cargo correctamente", MsgBoxStyle.Information, "Aviso")

            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        Else
            MsgBox("Seleccione un archivo a importar", MsgBoxStyle.Exclamation, "Aviso")
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim PRODUCTOS As New frmCatalogos
        PRODUCTOS.Text = "Catalogo de Conceptos"
        PRODUCTOS.ShowDialog()
        If PRODUCTOS.DialogResult = Windows.Forms.DialogResult.OK Then
            Me.lstConceptos.Text = PRODUCTOS.Valor
            Me.lstCodCon.Text = PRODUCTOS.Valor2


        End If
             
    End Sub

    Private Sub btnCargar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub
    Sub Enviar()
        Dim RutaDLL As String = ""

        Try

            Dim key As Microsoft.Win32.RegistryKey
            key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(gsRegPath)
            RutaDLL = CType(key.GetValue("RutaDLL"), String)
           
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
            MsgBox("Se interrumpio el proceso", MsgBoxStyle.Exclamation, "Aviso")
        End Try

        If Usa_AdminPAQ = True Then
            'ENTONCES SE USA EL SDK DE ADMINPAQ
            lblReg.Text = "Cargando librerias..."
            Application.DoEvents()

            'Carga SDK
            Dim lError As Integer
            lblReg.Text = "Cargando SDK de Adminpaq..."
            Application.DoEvents()

            Try
                Directory.SetCurrentDirectory(RutaDLL)
                lError = SDK_AdminPAQ.fInicializaSDK
                If lError <> 0 Then
                    MensajeError(lError)
                    End
                End If
            Catch ex As Exception
                lblReg.Text = ex.Message
                MsgBox("No se pudo cargar el SDK de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
                Exit Sub
            End Try

            'Abre Empresa de AdminPAQ
            lblReg.Text = "Abriendo empresa de AdminPAQ..."
            Application.DoEvents()

            Try
                lError = SDK_AdminPAQ.fAbreEmpresa(Comercial)
                If lError <> 0 Then
                    MensajeError(lError)
                End If
            Catch ex As Exception
                MsgBox("No se pudo abrir la empresa de AdminPAQ", MsgBoxStyle.Exclamation, "Aviso")
                Exit Sub
            End Try

        Else
            'ENTONCES SE USA EL DE COMERCIAL
            'Carga Libreria
            lblReg.Text = "Cargando SDK de ContPAQ I Comercial"
            Application.DoEvents()
            Dim lRet As Long
            lRet = fSDK_Inicializa(Comercial)
            If lRet <> 0 Then
                MsgBox("No pudo ser iniciado el SDK de Comercial", MsgBoxStyle.Exclamation, "Aviso")
                Exit Sub
            End If

        End If

        Dim Series As String
        Dim Fecha As Date
        Dim CodigoConcepto As String
        Dim CodigoCliente As String
        Dim NombreRuta As String
        Dim Producto As String
        Dim Almacen As String
        Dim Unidades As Double
        Dim Precio As Double

        Dim AdminPAQ As New clsAdminPAQ
        Dim AdmComercial As New AdminPAQ_Comercial
        Dim strStreamW As Stream
        Dim strStreamWriter As StreamWriter
        Dim FilePath As String

        FilePath = Application.StartupPath & "\Cargador_Bitacora" & Now.Year & Now.Month & Now.Day & "_" & Now.Hour & Now.Minute & ".txt"

        strStreamW = File.OpenWrite(FilePath)
        strStreamWriter = New StreamWriter(strStreamW, _
                            System.Text.Encoding.UTF8)



        For i = 0 To dgMovimientos.Rows.Count - 1
            dgMovimientos.CurrentCell = dgMovimientos.Rows(i).Cells(0)
            Application.DoEvents()

            Fecha = CDate(dgMovimientos.Rows(i).Cells(3).Value)
            CodigoConcepto = lstCodCon.Text
            Series = dgMovimientos.Rows(i).Cells(2).Value.ToString
            CodigoCliente = dgMovimientos.Rows(i).Cells(0).Value.ToString
            NombreRuta = dgMovimientos.Rows(i).Cells(1).Value.ToString
            Producto = dgMovimientos.Rows(i).Cells(4).Value.ToString
            If Mid(Producto, 1, 3) = "SEN" Then
                Producto = "SEÑ" & Mid(Producto, 4)
            End If
            Almacen = CStr(dgMovimientos.Rows(i).Cells(5).Value)
            Unidades = CDbl(dgMovimientos.Rows(i).Cells(6).Value)
            Precio = CDbl(dgMovimientos.Rows(i).Cells(7).Value)
            Dim ENVIO As String = ""

            If Usa_AdminPAQ = True Then
                ENVIO = AdminPAQ.EnviaAdminPAQ(Fecha, CodigoConcepto, BuscarIntDatoComercial("SELECT CNOFOLIO FROM MGW10006 WHERE CCODIGOC01='" & CodigoConcepto & "'") + 1, Series, CodigoCliente, NombreRuta, "", Producto, Almacen, Unidades, Precio)
                If Mid(ENVIO, 1, 2) = "NO" Then
                    strStreamWriter.WriteLine(Fecha & ":" & NombreRuta & ":" & Mid(ENVIO, 3))

                End If
            Else
                AdmComercial.EnviaComercial(Fecha, CodigoConcepto, 0, Series, CodigoCliente, NombreRuta, "", Producto, Almacen, Unidades, Precio, AdminPAQ_Comercial.TIPO_DOCUMENTO_COMERCIAL.Ventas)
            End If

        Next

        strStreamWriter.Close()
        strStreamW.Close()

    End Sub

    Private Sub ToolStripButton3_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton3.Click
        If dgMovimientos.Rows.Count = 0 Then
            MsgBox("No hay registros para hacer el envio", MsgBoxStyle.Exclamation, "Aviso")
            Exit Sub
        End If

        Enviar()

       
    End Sub
    Sub Respaldo()
        'Declaracion de todas las variables a usar
        Dim lRet As Long
        Dim lStrValor As String
        Dim lIdDocumento As New Microsoft.VisualBasic.Compatibility.VB6.FixedLengthString(SDK_AdminPAQ.kLongIdDocum)
        Dim lNumMovto As Integer
        Dim lfecha As String
        Dim i As Integer
        Dim folio As Double = 0
        Dim serie As String = ""
        Dim lDoctoDe As Long = 4
        Dim lNomConcepto As String = ""
        Dim CodigoConcepto As String = Me.lstCodCon.Text
        Dim producto As String
        Dim almacen As String
        Dim registros As Double = Me.dgMovimientos.Rows.Count
        Dim cont As Integer = 0
        Dim fecha As Date


        lIdDocumento.Value = Space(SDK_AdminPAQ.kLongIdDocum)

        'Formatear fecha



        'Comienza el ciclo para enviar movimientos
        For i = 0 To dgMovimientos.Rows.Count - 1
            If Interrumpir = True Then
                Bitacora.RegistraActividad("Canceló un envio masivo de informacón a AdminPAQ")
                Exit Sub
            End If
            fecha = CDate(dgMovimientos.Rows(i).Cells(3).Value)
            lfecha = Format(fecha.Month, "00") & "/"
            lfecha = lfecha & Format(fecha.Day, "00") & "/"
            lfecha = lfecha & Format(fecha.Year, "0000")


            cont = cont + 1
            Me.lblReg.Text = "Enviando Registro " & cont & " de " & registros
            dgMovimientos.CurrentCell = dgMovimientos.Rows(i).Cells(0)
            Application.DoEvents()
            ' Inserta registro de documento
            lRet = SDK_AdminPAQ.fInsertarDocumento()
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando documento")
                'fTerminaSDK()
                Exit Sub
            End If
            ' Actualiza los campos del documento
            'Guarda fecha
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFecha", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda codigo del concepto
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cCodigoConcepto", CodigoConcepto)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando codigo concepto " & CodigoConcepto)
                BorraYTermina(0)
                Exit Sub
            End If
            'Busca cual es la serie del documento modelo, y busca el siguiente folio
            ' lRet = fSiguienteFolio(CodigoConcepto, serie, folio)
            folio = dgMovimientos.Rows(i).Cells(8).Value.ToString
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Buscando folio y serie")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda la serie
            serie = dgMovimientos.Rows(i).Cells(2).Value.ToString()
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cSerieDocumento", serie)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando serie")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda el folio
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFolio", folio)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando folio")
                BorraYTermina(0)
                Exit Sub
            End If
            'Verifica que se haya especificado el codigo del cliente
            lStrValor = dgMovimientos.Rows(i).Cells(0).Value.ToString()
            If Trim(lStrValor) = "" Then
                MsgBox("No se especifico el codigo del cliente", MsgBoxStyle.Exclamation, "Error")
                BorraYTermina(0)
                Exit Sub
            End If
            'Verifica que el codigo del cliente exista
            lRet = SDK_AdminPAQ.fBuscaCteProv(dgMovimientos.Rows(i).Cells(0).Value.ToString())
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Hubo un error al validar el codigo del cliente." & Chr(10) & Chr(10) & "Error no.: " & Trim("120501") & Chr(10) & "El código del Cliente/Proveedor no existe.", vbExclamation + vbOKOnly, "Error")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda codigo del cliente
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cCodigoCteProv", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando codigo del cliente")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda razon social del cliente
            lStrValor = dgMovimientos.Rows(i).Cells(1).Value.ToString()
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cRazonSocial", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando razon social")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda rfc
            lStrValor = ""
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cRFC", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando RFC")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda CodigoAgente
            lStrValor = ""
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cCodigoAgente", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando codigo agente")
                BorraYTermina(0)
                Exit Sub
            End If
            ' Indicar al SDK que el documento va a tomar la dirección fiscal y de envio del cliente
            lStrValor = "1"
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cConDireccionFiscal", lStrValor)
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cConDireccionEnvio", lStrValor)
            'Guarda fecha de vencimiento
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFechaVencimiento", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha vencimiento")
                BorraYTermina(0)
                Exit Sub
            End If
            'Guarda Fecha Entrega Recepcion
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFechaEntregaRecepcion", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha entrega recepcion")
                BorraYTermina(0)
                Exit Sub
            End If
            'Tipo de moneda
            lStrValor = 1
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cIdMoneda", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando id moneda")
                BorraYTermina(0)
                Exit Sub
            End If
            'Tipo de cambio de moneda
            lStrValor = 1
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cTipoCambio", lStrValor)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando tipo de cambio")
                BorraYTermina(0)
                Exit Sub
            End If
            'Otra vez la fecha del documento, la fecha de entrega recepcion
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFecha", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha otravez")
                BorraYTermina(0)
                Exit Sub
            End If
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFechaVencimiento", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha vencimiento otravez")
                BorraYTermina(0)
                Exit Sub
            End If
            lRet = SDK_AdminPAQ.fSetDatoDocumento("cFechaEntregaRecepcion", lfecha)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Insertando fecha recepcion otravez")
                BorraYTermina(0)
                Exit Sub
            End If
            ' Guarda los datos del documento
            lRet = SDK_AdminPAQ.fGuardaDocumento()
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Guardando documento")
                BorraYTermina(0)
                Exit Sub
            End If
            ' Obtiene el IdDocumento
            lStrValor = SDK_AdminPAQ.fLeeDatoDocumento("cidDocum01", lIdDocumento.Value, 11)
            If lStrValor <> 0 Then
                MensajeError(lStrValor)
                MsgBox("Buscando id del documento")
                SDK_AdminPAQ.fBorraDocumento()
                Exit Sub
            End If
            ' Guarda los renglones
            lNumMovto = 0
            'Verifica que el producto se haya especificado para insertar un nuevo movmiento y guardar los renglones
            producto = dgMovimientos.Rows(i).Cells(4).Value.ToString()
            If Len(Trim(producto)) > 0 Then
                lRet = SDK_AdminPAQ.fInsertarMovimiento()
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando un movimiento")
                    SDK_AdminPAQ.fBorraDocumento()
                    Exit Sub
                End If
                ' Despues de insertar el movimiento cualquier error que ocurra entre esta insercion y el guardado
                ' debera de llamar al metodo fSDK_CancelarCambioMovimientos para que se deshaga la insercion
                ' Id del Documento
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cIdDocumento", lIdDocumento.Value)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando id del documento en movimiento " & lIdDocumento.Value)
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Numero del Movimiento
                lNumMovto = lNumMovto + 1
                lStrValor = Trim(Str(lNumMovto * 100))
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cNumeroMovimiento", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando numero de movimiento")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Codigo del Producto
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cCodigoProducto", producto)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando codigo del producto")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Codigo del Almacen


                almacen = dgMovimientos.Rows(i).Cells(5).Value.ToString()
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cCodigoAlmacen", almacen)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando codigo del almacen")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Unidades


                lStrValor = dgMovimientos.Rows(i).Cells(6).Value.ToString() ' Trim(Str(Range("D" & Trim(Str(lRenglon))).Value))
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cUnidades", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando unidades del movimiento")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Precio


                lStrValor = dgMovimientos.Rows(i).Cells(7).Value.ToString()
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cPrecio", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando precio")
                    BorraYTermina(1)
                    Exit Sub
                End If
                'Importe extra= Dias

                'El Neto se calcula en el SDK de AdminPAQ
                ' Descuento 1
                lStrValor = 0
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cDescuento1", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando descuento 1")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Descuento 2
                lStrValor = 0
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cDescuento2", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando descuento 2")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Impuesto 1
                lStrValor = 0
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cImpuesto1", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando impuesto 1")
                    BorraYTermina(1)
                    Exit Sub
                End If
                ' Impuesto 2
                lStrValor = 0
                lRet = SDK_AdminPAQ.fSetDatoMovimiento("cImpuesto2", lStrValor)
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Insertando impuesto 2")
                    BorraYTermina(1)
                    Exit Sub
                End If
                'El Total se calcula en el SDK de AdminPAQ
                ' Guarda los datos del movimiento
                lRet = SDK_AdminPAQ.fGuardaMovimiento()
                If lRet <> 0 Then
                    MensajeError(lRet)
                    MsgBox("Guardando movimiento")
                    BorraYTermina(1)
                    Exit Sub
                End If
            End If
            lRet = SDK_AdminPAQ.fAfectaDocto_Param(CodigoConcepto, serie, folio, True)
            If lRet <> 0 Then
                MensajeError(lRet)
                MsgBox("Afectando documento")
                BorraYTermina(1)
                Exit Sub
            End If
            'Todas las intrucciones que estan dentro del ciclo for, se ejecutaran hasta que se envie_
            'el ultimo de los registros del datagrid
        Next
        MsgBox("Documentos creados con éxito.", MsgBoxStyle.Information, "Aviso")
        Bitacora.RegistraActividad("Realizó un envio masivo de informacón a AdminPAQ")
    End Sub
    Private Sub ToolStripButton2_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton2.Click

        Dim resp As Integer = MsgBox("Desea cancelar el envío de información", MsgBoxStyle.Exclamation, "Aviso")
        If resp = 6 Then
            Interrumpir = True
            Application.DoEvents()
        End If
    End Sub

    Private Sub ToolStripButton4_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton4.Click
        dgMovimientos.Rows.Clear()

    End Sub

    Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
        Me.Close()
    End Sub
End Class